Skip to content

Conversation

@slozier
Copy link
Contributor

@slozier slozier commented Dec 11, 2024

Resolves #1518

@slozier slozier marked this pull request as ready for review December 12, 2024 14:40
@BCSharp
Copy link
Member

BCSharp commented Dec 12, 2024

A few observations: this is changing the public API. Any concerns?

I assume it need not be thread-safe, am I right?

@slozier
Copy link
Contributor Author

slozier commented Dec 12, 2024

Technically the public APIs that changed are meant for the consumption by generated expression code. So I'm not too worried about changing them. Maybe they would end up in the DLLs of compiled modules? But I'm not too worried about it. I think we already broke some of these "public" APIs since the 3.4.1 release by adding CodeContext arguments.

I don't think thread-safety is an issue? Based on my (limited) understanding of these meta objects it's just generating an expression tree that transforms the given arguments to match the function signature. The whole thing seems overly complicated to me, but not something I really want to take on right now.

@slozier slozier merged commit 9358e4b into IronLanguages:main Dec 13, 2024
5 of 8 checks passed
@slozier slozier deleted the perf branch December 13, 2024 02:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Argument unpacking is inefficient

2 participants